package com.zcc.blog.service;

import com.zcc.blog.dto.PasswordDto;
import com.zcc.blog.entity.User;
import com.baomidou.mybatisplus.extension.service.IService;
import com.zcc.blog.untils.Result;
import org.springframework.web.multipart.MultipartFile;

/**
 * <p>
 *  服务类
 * </p>
 *
 * @author zcc
 * @since 2022-09-05
 */
public interface UserService extends IService<User> {
    /**
     * 用户注册
     * @param user
     * @return
     */
    public Result register(User user);

    /**
     * 更新用户的头像
     * @param id
     * @param avatar
     * @return
     */
    public Result updateAvatar(Long id, MultipartFile avatar);

    /**
     * 更新上次登录的时间
     * @param id
     * @return
     */
    public boolean updateLastLogin(Long id);

    /**
     * 修改用户基本信息
     * @param user
     * @return
     */
    public Result updateUserInfo(User user);

    /**
     * 修改密码
     * @param passwordDto
     * @return
     */
    public Result updatePassword(PasswordDto passwordDto);

    /**
     * 通过id查找用户
     * @param id
     * @return
     */
    public User getUserById(Long id);
}
